package com.xbongbong.pro.domain.entity;

import com.alibaba.fastjson.JSONArray;
import com.xbongbong.paas.toolbox.util.RegexUtil;
import com.xbongbong.paas.toolbox.wrap.Entity;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

/**
 * @description: 模板中心
 * @Author: hongxiao
 * @date: 2019-03-02 17:28
 * @since v1.0
 */
@Getter
@Setter
@ToString
public class AppModuleEntity extends Entity {
    /**
     * 主键
     */
    private Long id;
    /**
     * 应用模板名称
     */
    private String name;
    /**
     * 关联的镜像配置id
     */
    private JSONArray mirrorId;
    /**
     * 应用模板别名
     */
    private String alias;
    /**
     * 应用模板图标
     */
    private String icon;
    /**
     * 应用模板图标背景颜色，16进制色，如#FF0000
     */
    private String bgColor;
    /**
     * 应用模板简介
     */
    private String instruction;
    /**
     * 应用模板简介图片
     */
    private JSONArray images;
    /**
     * 应用模板简介视频
     */
    private JSONArray video;
    /**
     * 应用分类，1：官方应用 2：增值应用 3：第三方应用 4：增值服务
     * 模板分类：参考枚举ModuleAppTypeEnum
     */
    private String type;
    /**
     * 应用模板套餐类型：1免费，2预充值，3付费
     */
    private Integer feeType;
    /**
     * 应用是否为新应用：1：新应用，0：非新应用
     */
    private Integer newApp;
    /**
     * 应用或模板区分（1.应用，2.体验包，3.模板 4.配置）
     */
    private Integer appType;
    /**
     * 标签类型（1.限时免费 2.热门）
     */
    private Integer labelType;
    /**
     * 开通应用套餐费用图片
     */
    private String feeImage;
    /**
     * 操作类型（1.申请试用，2.申请开通，3.试用/开通/升级续费，4.试用/开通，5.开启/关闭）
     */
    private Integer operateType;
    /**
     * 重定向的URL(开通成功后)
     */
    private String redirectUrl;
    /**
     * 排序值
     */
    private Integer sort;
    /**
     * 应用是否上架(1.上架，0.下架)
     */
    private Integer shelves;
    /**
     * 应用介绍
     */
    private String applicationInfo;
    /**
     * 视频链接
     */
    private String videoUrl;
    /**
     * 应用攻略
     */
    private Long applicationIdea;
    /**
     * 创建时间
     */
    private Long addTime;
    /**
     * 更新时间
     */
    private Long updateTime;
    /**
     * 删除标记
     */
    private Integer del;

    public String getName() {
        return RegexUtil.getVariableName(name);
    }

    public String getInstruction() {
        return RegexUtil.getVariableName(instruction);
    }
}
